﻿using MediatR;
using SqlSugar;

namespace J.ProductSet.Application.Command.ProductCommand
{
    public class ProductUpdateCommand : IRequest<int>
    {
        /// <summary>
        /// 主键
        /// </summary>
        public int ProductID { get; set; }

        /// <summary>
        /// 商品名称
        /// </summary>
        public string? ProductName { get; set; }
        /// <summary>
        /// 商品图片
        /// </summary>
        public string? ProductPicture { get; set; }
        /// <summary>
        /// 商品标签表的外键
        /// </summary>
        public int? ProductabelId { get; set; }
        /// <summary>
        /// 商品简介
        /// </summary>
        public string? ProductProfile { get; set; }
        /// <summary>
        /// 商品详情
        /// </summary>
        public string? ProductDetails { get; set; }
        /// <summary>
        /// 分类表的外键
        /// </summary>
        public int? CategoryManagementID { get; set; }
        /// <summary>
        /// 适用业务
        /// </summary>
        public string? ApplicableBusiness { get; set; }
        /// <summary>
        /// 订房业务
        /// </summary>
        public bool RoomReservationBusiness { get; set; }
        /// <summary>
        /// 商品业务
        /// </summary>
        public bool CommodityBusiness { get; set; }
        /// <summary>
        /// 服务说明
        /// </summary>
        public string? ServiceDescription { get; set; }
        /// <summary>
        /// 使用次数
        /// </summary>
        public int? UsageTimes { get; set; }
        /// <summary>
        /// 销售价
        /// </summary>
        [SugarColumn(ColumnDataType = "number(34,2)")]
        public decimal SellingPrice { get; set; }
        /// <summary>
        /// 原价
        /// </summary>
        [SugarColumn(ColumnDataType = "number(34,2)")]
        public decimal OriginalPrice { get; set; }
        /// <summary>
        /// 剩余库存
        /// </summary>
        public int? SurplusStock { get; set; }
        /// <summary>
        /// 可用折扣
        /// </summary>
        public string? AvailableDiscount { get; set; }
        /// <summary>
        /// 可用优惠
        /// </summary>
        public string? AvailableOffer { get; set; }
        /// <summary>
        /// 是否限购/人数
        /// </summary>
        public int? PurchaseRestriction { get; set; }
        /// <summary>
        /// 赠送好友
        /// </summary>
        public bool GiftFriends { get; set; }
        /// <summary>
        /// 其他须知
        /// </summary>
        public string? OtherNotes { get; set; }
        /// <summary>
        /// 使用期限
        /// </summary>
        public int? ServiceLife { get; set; }
        /// <summary>
        /// 有效期
        /// </summary>
        public DateTime? validity { get; set; }
        /// <summary>
        /// 有效天数
        /// </summary>
        public int? ValidDays { get; set; }
        /// <summary>
        /// 可用日期
        /// </summary>
        public string? AvailableDate { get; set; }
        //可用时间
        public string? AvailableTime { get; set; }
        /// <summary>
        /// 是否预约
        /// </summary>
        public int? ReservationOrnot { get; set; }
        /// <summary>
        /// 预约形式
        /// </summary>
        public int? ReservationForm { get; set; }
        /// <summary>
        /// 预约类型
        /// </summary>
        public int? AppointmentType { get; set; }
        /// <summary>
        /// 预约确认
        /// </summary>
        public bool AppointmentConfirmation { get; set; }
        /// <summary>
        /// 预约分钟
        /// </summary>
        public int? ReserveMinutes { get; set; }
        /// <summary>
        /// 预约处理
        /// </summary>
        public int? ReservationProcessing { get; set; }
        /// <summary>
        /// 其他规则
        /// </summary>
        public string? OtherRules { get; set; }
        /// <summary>
        /// 上架设置
        /// </summary>
        public int? ShelfSetting { get; set; }
        /// <summary>
        /// 上架时间
        /// </summary>
        public DateTime? ShelfTime { get; set; }
        /// <summary>
        /// 上架是否提前
        /// </summary>
        public bool InAdvance { get; set; }
        /// <summary>
        /// 上架提前的时间
        /// </summary>
        public int? ShelfLeadTime { get; set; }
        /// <summary>
        /// 下架设置
        /// </summary>
        public bool TakedownSetup { get; set; }
        /// <summary>
        /// 下架时间----下架设置为true时
        /// </summary>
        public DateTime? TakedownTime { get; set; }
        /// <summary>
        /// 是否提前
        /// </summary>
        public bool EarlyRemoval { get; set; }
        /// <summary>
        /// 下架提前的时间
        /// </summary>
        public int? RemovalLeadTime { get; set; }
        /// <summary>
        /// 领取方式
        /// </summary>
        public string? WayOfReceiving { get; set; }
        /// <summary>
        /// 卡券同步
        /// </summary>
        public bool VoucherSynchronization { get; set; }
        /// <summary>
        /// 海报标签
        /// </summary>
        public string? PosterLabel { get; set; }
        /// <summary>
        /// 手机号码，是一个单选按钮
        /// </summary>
        public bool MobilePhoneNumber { get; set; }
        /// <summary>
        /// 短信验证
        /// </summary>
        public bool SMSAuthentication { get; set; }
        /// <summary>
        /// -预留信息ID--获取预留信息表的ID集合
        /// </summary>
        public string? ReservedInformationID { get; set; }
        /// <summary>
        /// 分享标题
        /// </summary>
        public string? ShareTitle { get; set; }
        /// <summary>
        /// 分享描述
        /// </summary>
        public string? ShareDescription { get; set; }
        /// <summary>
        /// 分享图片
        /// </summary>
        public string? SharePictures { get; set; }
        /// <summary>
        /// 商品状态0为上架1为下架
        /// </summary>
        public bool? CommodityStatus { get; set; } = true;
    }
}
